<?xml version="1.0" encoding="utf-8"?>
<!--
                                                                                     
 h       t     t                ::       /     /                     t             / 
 h       t     t                ::      //    //                     t            // 
 h     ttttt ttttt ppppp sssss         //    //  y   y       sssss ttttt         //  
 hhhh    t     t   p   p s            //    //   y   y       s       t          //   
 h  hh   t     t   ppppp sssss       //    //    yyyyy       sssss   t         //    
 h   h   t     t   p         s  ::   /     /         y  ..       s   t    ..   /     
 h   h   t     t   p     sssss  ::   /     /     yyyyy  ..   sssss   t    ..   /     
                                                                                     
	<https://y.st./>
	Copyright © 2015 Alex Yst <mailto:copyright@y.st>

	This program is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with this program. If not, see <https://www.gnu.org./licenses/>.
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<base href="https://y.st./en/weblog/2015/07-July/09.xhtml"/>
		<title>More Minetyst work &lt;https://y.st./en/weblog/2015/07-July/09.xhtml&gt;</title>
		<link rel="icon" type="image/png" href="/link/CC_BY-SA_4.0/y.st./icon.png"/>
		<link rel="stylesheet" type="text/css" href="/link/main.css"/>
		<script type="text/javascript" src="/script/javascript.js"/>
		<meta name="viewport" content="width=device-width"/>
	</head>
	<body>
<nav>
	<p>
		<a href="/en/coursework/">Coursework</a> |
		<a href="/en/take-down/">Take-down requests</a> |
		<a href="/en/">Home</a> |
		<a href="/en/a/about.xhtml">About</a> |
		<a href="/en/a/contact.xhtml">Contact</a> |
		<a href="/a/canary.txt">Canary</a> |
		<a href="/en/URI_research/"><abbr title="Uniform Resource Identifier">URI</abbr> research</a> |
		<a href="/en/opinion/">Opinions</a> |
		<a href="/en/law/">Law</a> |
		<a href="/en/recipe/">Recipes</a> |
		<a href="/en/a/links.xhtml">Links</a> |
		<a href="/en/weblog/2015/07-July/09.xhtml.asc">{this page}.asc</a>
	</p>
	<hr/>
	<p>
		Weblog index:
		<a href="/en/weblog/memories">Memories</a> |
		<a href="/en/weblog/"><abbr title="American Standard Code for Information Interchange">ASCII</abbr> calendars</a> |
		<a href="/en/weblog/index_ol_ascending.xhtml">Ascending list</a> |
		<a href="/en/weblog/index_ol_descending.xhtml">Descending list</a>
	</p>
	<hr/>
	<p>
		Jump to entry:
		<a href="/en/weblog/2015/03-March/07.xhtml">&lt;&lt;First</a>
		<a rel="prev" href="/en/weblog/2015/07-July/08.xhtml">&lt;Previous</a>
		<a rel="next" href="/en/weblog/2015/07-July/10.xhtml">Next&gt;</a>
		<a href="/en/weblog/latest.xhtml">Latest&gt;&gt;</a>
			</p>
			<hr/>
</nav>
		<header>
			<h1>More Minetyst work</h1>
			<p>Day 00124: <time>Thursday, 2015 July 09</time></p>
		</header>
<p>
	PayPal hasn&apos;t written back about the donation on behalf of the website yet.
</p>
<p>
	The first minetest_game module I started work on converting today was screwdriver.
	It seemed pretty easy to make work with Minetyst at first, but when I went to test the thing, I found an oddity.
	The singular tool created by this module, when run through libtools, could not be placed as a node! It seems that while I was away, screwdriver undertook a major upgrade.
	Instead of cycling through four different tools, each with a different capability, all the functionality has been stuffed into two distinct actions.
	A single screwdriver tool implements one of these functions upon left clicking (normally used for digging) and the other upon right clicking (normally used for placing nodes).
	Because the right click function was tied up, the tool could not be placed normally.
	It&apos;s not the cleanest workaround, but I&apos;ve modified the screwdriver to allow itself to be placed if the player is holding the shift key when attempting to place it.
</p>
<p>
	In the process, I ended up completing my libtools module.
	Now, the attached_node group is implemented, and tools no longer float in mid air when the node they are resting on is removed.
	The catch is that I had to override one of the built-in functions with a slightly-modified version of itself.
	The reason I don&apos;t like doing this is that if this function is changed in the main engine at some point, I may not notice right away and continue using the copy of the old code now present in my module.
	It&apos;s not clean, but for now, it&apos;s the best I can come up with.
</p>
<p>
	Third, I built a new module called <code>debug</code> and modified every module to have a soft dependency on it.
	For now, all it does is enforce that all modules that load after it create, at most, a single global variable, and this global variable must have a very specific name based on the name of the module that defines it.
	I think it also throws errors if you try to access undefined variables, but I have yet to test this.
	Even if it works, I may remove it later.
	The intent is to include any debugging code here that helps make sure the rest of my code is as error-free as possible.
	In theory, once code is written to function with the debug module, removing the debug module will have no effect.
</p>
<p>
	Yesterday, a coworker of mine set up a joke for the rest of us.
	Our new refrigerator has a label that says &quot;IB Imperial Brown&quot;.
	Guessing by the fact that this label inhabited a hole in the protective plastic before the plastic was fully removed, I thing the hole was torn to add the label.
	The label therefor may not be the brand of the refrigerator, but instead, the company that installed it.
	Anyway, this coworker taped a printout of a sketch of Doc Brown from Back To The Future and covered the word &quot;Imperial&quot; with the word &quot;Doc&quot;.
	It now reads &quot;IB Doc Brown&quot; (said out loud as &quot;I be Doc Brown&quot;, as if he is introducing himself using bad grammar).
	Hoping to have my mobile on hand next time I run into the guy, I bought <a href="https://professorshyguy.bandcamp.com/album/80s-ep-magprom">80s Ep (MAGProm)</a>, as it contains a cover of (one of?) the cover song(s?) from the same movie.
	I won&apos;t watch the movie again, as I have left proprietary media behind, but Professor Shyguy&apos;s cover is under <abbr title="Creative Commons Attribution-ShareAlike 3.0 Unported">CC BY-SA 3.0</abbr>, so I don&apos;t mind keeping it with me and playing it.
</p>
<p>
	My <a href="/a/canary.txt">canary</a> still sings the tune of freedom and transparency.
</p>
		<hr/>
		<p>
			Copyright © 2015 Alex Yst;
			You may modify and/or redistribute this document under the terms of the <a rel="license" href="/license/gpl-3.0-standalone.xhtml"><abbr title="GNU&apos;s Not Unix">GNU</abbr> <abbr title="General Public License version Three or later">GPLv3+</abbr></a>.
			If for some reason you would prefer to modify and/or distribute this document under other free copyleft terms, please ask me via email.
			My address is in the source comments near the top of this document.
			This license also applies to embedded content such as images.
			For more information on that, see <a href="/en/a/licensing.xhtml">licensing</a>.
		</p>
		<p>
			<abbr title="World Wide Web Consortium">W3C</abbr> standards are important.
			This document conforms to the <a href="https://validator.w3.org./nu/?doc=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2015%2F07-July%2F09.xhtml"><abbr title="Extensible Hypertext Markup Language">XHTML</abbr> 5.2</a> specification and uses style sheets that conform to the <a href="http://jigsaw.w3.org./css-validator/validator?uri=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2015%2F07-July%2F09.xhtml"><abbr title="Cascading Style Sheets">CSS</abbr>3</a> specification.
		</p>
	</body>
</html>

